a) Field of the Invention
This invention provides a solid modeler specifically tailored for the material removal process associated with milling procedure, and that permits a part to be designed using only machinable profiles.
b) Description of the Prior Art
Object modeling is a tool for a designer to display and verify his conceptual design on a computer screen. Earlier methods of object modeling were based on designing a part with 2D drawings. The designer provided the machining information using manufacturing symbols, tolerances, and dimensions. The completed design was turned over to a process planner. He reviewed 2D engineering drawings and integrated them to arrive at, in the case of milling, material removal information, which was then converted into a set of machining operations. This set of machining operations was then used to machine the part.
With increased computing power available, methods were introduced whereby one could model a part as a 3D shape. The process of representing a 3D shape by relationships that can be manipulated using a computer is called geometric modeling. A model of a part developed using a geometric modeling method is called a geometric model, sometimes referred to as a CAD model. Geometric modeling has progressed from wire frame to surface modeling to solid modeling schemes. Initial modelers represented and scored an object by its vertices and edges. Such a model is called a wire frame model. A wire frame model is used for computer display. However, a wire frame model is an ambiguous model and, therefore, the surface area and volume of the part cannot be computed. Another type of 3D modeler, called a surface modeler, maintains the surfaces of an object. Each surface in a surface model is a free form surface that is represented by many bicubic patches. Each bicubic patch is defined by cubic equations of two parameters, which vary from 0 to 1 and which define all points on the surface. The surface modeler is suitable for object visualization and aesthetic designs of objects like car bodies and airplane fuselages. However, a surface model cannot be used to determine the volume of an object.
Solid modelers overcame the limitations of wire frame and surface modelers, and can now be used to determine both the surface area and the volume. A solid model is represented by quadric primitives or entities. A quadric primitive is the space bounded by a quadric surface, which is a surface described by a second order polynomial. Examples of quadric primitives are cylinders, blocks, spheres, cones and torii. A part is modeled by applying boolean operations on these quadric primitives. Solid modeling has gained wide acceptance because it provides an unambiguous model of an object However, because of the small set of primitives currently available it is very difficult to use the present modelers to represent any but the simplest material removal operations. Consequently, machining information is not automatically available from a solid model; however, it can be extracted from it. Machined features, that is, the volume removed by a machining operation, are either manually or automatically extracted after the geometry has been completely defined A process planner is then often used to decide the tool path for machining each individual feature. Based on this machining information the NC code is generated for input to an MC machine cool for machining the part. The difficulty with this method is that the machining information has to be extracted from the solid model after it is formed, which is a computationally difficult task.
Another approach is to use a method called feature based design in which a part is created using a set of functional volumes called features. In a feature based design system the features, which are sometimes called form features are the regions of importance from a designer's point of view, and satisfy a functional role rather than satisfying any machining process requirement. In general, a feature may not be machinable. For example, consider a thin wall ridge existing between two parallel slots. The thin wall between the slots is a form feature, whereas the slots are the machined features. The feature based design method develops a model with the form features and stores the features in a database. This feature database is utilized by an expert process to establish the process plans, and eliminates having to extract the material removal information from a general purpose solid model. However, a feature modeler must contain a very large library of differently shaped volumes to be of any practical use. Furthermore, the feature based design method is not constrained by any limitation inherent in the machining process itself.
As will be discussed below there is a need for a method that: (i) allows an interactive development of a solid model using machinable features, (ii) can simultaneously store the appropriate machining information, and (iii) can constrain the part creation by incorporating the limits of the machining operations as part of the design process. This dissertation describes the development of a solid modeler that meets these criteria A process of interactively building a geometric model is implemented by sequentially applying a fundamental machinable entity for milling (FMEM) to a solid rectangular prismatic part. Each FMEM is a 3D design entity that is natural to the machining process, thereby automatically constraining the design to an object that is manufactrable by milling. Each FMEM represents the material removed after a milling operation has been implemented. Thus, the need for extracting this information at a later stage is eliminated, and the final part geometry is obtained in a manner that has been fully integrated with the milling process.
Solid modeling has been linked with manufacturing in one of two ways: either by extracting machinable feature information from the part model or by developing the model using features and then using these features to determine a manufacturing process plan. An overview of the research efforts in solid modeling, feature extraction and feature based design methods will be provided below. In addition, some of the methods of integrating solid modeling with CAM are discussed in detail.
A successful scheme for solid modeling must be (1) complete, unambiguous, and unique, (2) appropriate to the class of engineering components, and (3) practical to use with existing computers (Requicha, 1980).
There are six unambiguous schemes available for representing rigid solids (Meagher, 1981). These schemes are (i) Primitive Instancing, (ii) Spatial Enumeration, (iii) Cell Decomposition, (iv) Constructive Solid Geometry (CSG), (v) Sweep Representation, and (vi) Boundary Representation (B-Rep).
Among these schemes Constructive Solid Geometry (CSG) and Boundary Representation (B-Rep), or a hybrid of them, are used in current solid modelers. In a CSG scheme, the objects are represented as collections of primitive solids that are connected via boolean operations. In B-Rep, objects are represented by their enclosing surfaces. Topology of a B-Rep model is given by the connectivity of faces, edges and vertices. In both schemes to date, only quadric surfaces (planes, cylinders, cones, spheres and torii) are considered (Pratt, 1989). Edges are obtained by the intersection between these surfaces. These edges are either straight lines, conic curves (exact representation possible).or space curves (approximated). In the B-Rep scheme each face is divided into planar facets or patches. However, some systems define each facet as a ring of four connected edges (Pratt, 1989).
Braid and Lang (1973) at Cambridge proposed the very first solid modeling system, which was based on a B-Rep scheme. Their solid modeler, which is called BUILD, represents an object as a solid model and stores the information about the object's vertices, edges and faces. The topological information about the model is derived from a table of faces, edges and vertices. A solid is then formed by the region bounded by its faces.
Another solid modeler called TIPS was developed at Hokkaido University by Okino, Kakazu & Kubo (1973) using CSG. TIPS stores the object as a collection of primitive solids like blocks and cylinders. However, the solid primitives are represented by half-spaces in the CSG tree. Half-spaces are infinite surfaces that divide a 3D space into two regions. For example, a cube is bounded by six planar surfaces. TIPS has been improved upon and is now available as the CAM-I solid modeler (CAM-International, 1981). After TIPS and BUILD were introduced, a debate over the advantages of one scheme over the other ensued.
The TIPS-BUILD debate ended when the PADL-1 (Part and Assembly Description Language) (Voelcker & Requicha, 1977 and Voelcker & Requicha, 1981) solid modeler was introduced. PADL-1, an experimental solid modeler, was based on CSG. In PADL-1 an object is stored as a binary CSG tree whose termination nodes are solid primitives rather than half-spaces. PADL-1 also provided the option of generating the B-Rep tree from a CSG tree. In PADL-1 only bricks and cylinders were included. In the next version of the solid modeler, called PADL-2 (Brown, 1982), a solid modeler that had commercial applicability was developed. PADL-2 was also based on CSG, but the number of primitives available was extended to wedges, spheres, cones and torii. These primitives, when combined through boolean operations, can model an object. GMSolid (Boyse & Gilchrist, 1982), a CSG solid modeler developed at General Motors for internal use, adopted the concepts developed by the PADL-2 project.
Baumgart (1975) introduced the “winged-edge structure” representation of solids in his solid modeler called GEOMED. The representation consists of three elements: an edge, a face and a vertex Baumgart's winged-edge structure helps to determine the topological relationships of faces, edges and vertices in a B-Rep tree. Many solid modelers (Braid, 1979; Chiyokura, 1988; Eastman & Henrion, 1977; Hosaka, Kimura & Kalishita, 1974; Veenman, 1979) were later introduced based on the winged-edge boundary representation of an object Baumgart's representation was adopted in the next version of the BUILD software (BUILD-2) (Braid, 1979). However, Braid extended the winged-edge method to represent solids with holes. In BUILD-2 a face is represented by many child-loops within a parent-loop. A parent-loop is a closed contour of connected edges that bounds a face on a surface, whereas a child-loop is the contour of edges bounding a hole on the same surface. Parent and child loops exist on the same surface and, therefore, can be represented by the same surface equation. Another solid modeler that is similar to BUILD-2 is DESIGNBASE (Chiyokura, 1988). DESIGNBASE uses B-Rep as a representation scheme for the solid modeler and implements the use of “local operations”, in addition to the known boolean operations. The local operations help the designer to modify the part design quickly and conveniently.
Other solid modeling systems based on B-Rep emerged in the early 1970s. These include: (1) ROMULUS (Veenman, 1979), which, is a solid modeler based on the concepts developed by BUILD-2 and GEOMED; (2) GEOMAP (Hosaka et al, 1974) from the University of Tokyo; (3) COMPAC (Spur & Gausmieier, 1975) from the Technical University of Berlin; and (4) GUIDE (Eastman & Henrion, 1977) from Carnegie Mellon University.
There are now many solid modelers available for commercial use (Johnson, 1986; Dartech Inc, 1984). Most of them support not only CSG and B-Rep representations, but also the sweeping technique. Among them are: (1) CATIA from Dassault Systems; (2) EUCLID from Matra Datavision; (3) GEOMOD from Structural Dynamic Research Corporation; (4) MEDUSA from Cambridge Interactive Systems Ltd; and (5) ANVIL-5000 from MCS Inc.
There are several PC based CAD modelers (Hart, 1986 and Dartech Inc, 1984) that have started implementing solid modeling techniques. Among these PC based CAD tools are CADKEY, ANVIL-1000 and AUTOCAD.
Several researchers have attempted to link a solid model to a process planner. They have used two basic approaches: (i) recognize and extract the material removal information from the part geometry; and (ii) develop the part geometry itself using special shaped volumes. These volumes are then used to extract the features and generate the process plan.
In the first method a part model is developed in a solid modeler system, usually using B-Rep. Features are then extracted from the solid model of the part. This is done either manually or automatically. These machining features are then used in a process planner, and NC code is generated. This method allows the designer to model his part in any way, and is not limited by manufacturing restrictions. Consequently, it is possible to create a part that is not manufacturable. Another drawback of this method is that the material removal information is extracted from the solid model and, therefore, the original part geometry is lost.
In the second method a part geometry is based on form features themselves. As mentioned previously, an example of the form feature is a ridge that is formed by two parallel slots machined in proximity. A designer considers the ridge a feature because the integrity of the designed part depends on the strength of the ridge. A form feature is a region of importance from the designer's point of view, but may not be a machinable feature. A model is assembled by these form features. Machinable features are then manually identified (as in XCUT [Hummel & Brooks, 1986 and Hummel & Brooks, 1987]) or automatically extracted from the form feature database (as in QTC [Chang, Anderson & Mitchell, 1989]). Machined features are then processed by a process planner, and NC code is generated. A feature model is not used for part display and a separate solid modeler is used for displaying the part geometry. This method provides some integration of CAD and CAM, but the part geometry is comprised of volumes of too many shapes, sizes and forms (Ishii & Miller, 1992). Secondly, no consideration is given to the machinability of a feature. A design is based on standard features like slots, holes, pockets and grooves. A machining process is capable of removing volumes that are more complicated than these simple features. Using only these features in the design process limits the manufacturing to only that class of parts that can be made with these operations.
Among the researchers whose work is related to feature extraction from a solid model are Grayer (1977), Woo (1977), Henderson (1984), Kumar, Anand and Kirk (1988), Kumar (1988) and Fields and Anderson (1993). Their contributions have been to develop methods that automatically extract feature information from a solid model. The works of Luby, Dixon and Simmons (1986), Hummel and Brooks (1986), Kramer and Jun (1987), Shah et al. (1988), Chang et al. (1989) and Xue and Dong (1993) have made contributions to feature based modeling. Karinthi and Nau (1989) have provided a review of the work of many others who have contributed to feature based design.
Grayer (1977) describes a procedure that generates a tool path directly from the CAD model. His work is limited to 2½-D parts. Such a machined part consists of fixed depth laminae plus a representation of the outside boundary of the finished part. The shapes of the laminae are precisely the cross section of the object at different heights. In an object, its cross section at any height may be determined by finding the intersection of each vertical face with the sectioning plane, and joining the resulting line segments to form contours. Holes can be placed within their respective outer boundaries by a 2-D comparison. Each lamina is represented by one or more two-dimensional contours giving the shape of the boundary and that of any islands projecting through the lamina, forming holes in the region to be removed. In addition, the thickness and vertical position of the lamina must be stored, together with some scheme to indicate the order of the machining operations.
Woo (1977) investigated the role of solids and negative solids in the creation of cavities. A cavity corresponds to the result of adding or removing a volume from other volumes. The essential idea of deriving cavities from volumetric designs is done by computing the various ways in which solids are shaped by other solids via certain addition and subtraction operations.
Henderson (1984) proposed that cavities in a part can be considered features. These features can be extracted from a part after the model is developed, and has suggested a detailed algorithm to extract them. Each feature can then be put in a form that is suitable for numerical code generation. Henderson has provided a method of implementing this algorithm for machining the parts.
Kumar (1988) developed a feature extractor using the IGES (Initial Graphics Exchange Specifications) for input part geometry and the part model format (PMF) for output. Kumar used the wire frame description of the part geometry and dealt with slots, pockets, holes, bosses and ridges.
Fields and Anderson (1993) described an algorithm to extract machinable features from either a feature based model or a B-rep model for the 2½-D cavity features. They have pointed out that the set of features available in a feature based model do not correspond to the process oriented machining features. In order to bridge this gap they have introduced a hybrid feature that accounts for the additional stock material to be removed.
Kramer and Jun (1987) have come up with a part editor for one-sided, 2½-D parts. The part can be made by specifying machinable features from their library of machinable features using the part editor. The part thus developed is displayed and then used to generate the process plans and the NC code.
Xue and Dong (1993) described a method for concurrent design and manufacturing. Their design is comprised of three distinct perspectives: functional, manufacturing and geometry. In this knowledge-based system design and manufacturing features are mapped to geometry features for displaying the geometry. The design features are maintained in a design database, whereas the manufacturing features are kept in a database that is based on group technology.
A few researchers have considered feature interactions. Ide (1987) considered feature interaction on a limited scale. In his work, he developed a feature based design system using the PADL-2 solid modeler. The purpose of his work was to integrate PADL-2 with SIPS, an automatic process planner, which can handle planar surfaces, slots, pockets, holes and countersunk holes. Hayes (1987) described her system called MACHINIST. This system is a rule-based system that uses feature interactions to determine precedence relations among features. Karinthi and Nau (1989) have pointed out that there is a need for a “feature algebra” for solving feature interaction problems, rather than using the rule based expert systems.
Hummel and Brooks (1986, 1987) proposed a feature based process planner called XCUT, which is based on a commercial solid modeler ROMULUS, a user interface for interactively identifying and extracting features from the solid modeler, a feature based database in which features are represented symbolically in an object oriented programming language called FLAVOR, and an expert process planner. The process planner interacts with the feature database and processes the features to generate the manufacturing information. The XCUT system appears to be the most advanced to date, although it still does not provide full integration of CAD and CAM because the features must be identified manually.
The Quick turnaround cell (Chang et al., 1989) is an integrated design, manufacturing and inspection system. It is a hybrid of the feature extraction and feature based design approaches. It consists of four modules: a feature based design system, a process planner, a direct numerical control programming module, and an inspection module based on vision.
The design module maintains the part definition in two representations: a feature based model and a boundary representation model. The feature based model is used for process planning and the B-Rep model is used for displaying the part geometry using an external solid modeler. A list of features is maintained in a part file used for process planning. The design module allows input of features such as a hole, slot and pocket. Tolerances can be attached to each feature. The model is constructed by features using “geometric handlers”, which are characteristic geometric elements of features. For example, point and line specifications are geometric handlers. Vertices of a rectangular workpiece are its handlers, whereas line handlers are used to represent feature entities such as feature depth and length. Two features are related to each other in the model by their reference handlers, that is, by reference points on one of their faces. QTC seems to be a step towards automating the part production; however, the integration of CAD and CAM still lacks perfection as it maintains two separate models: a model for process planning and a display model. Furthermore, the feature model is based on functional requirements rather than the machining requirements.
Prior process oriented feature based design approaches will now be discussed. Luby et al. (1986) developed a methodology for designing castings using macro-features and co-features. The macro-features are the primitive volumes and the co-features are the extensions or attachments to them. They considered U-channels, I-brackets, and slabs as the macro-features. The co-features are holes, bosses and ribs. Macro and co-features are treated as primitives and the part geometry is constructed using these primitives. They then developed a menu driven system to design castings.
Another effort in the area of design for manufacturing has been made by Roller and Gschwind (1989). They proposed a CAD system that creates a 3D geometry by applying geometric transformations (translations and rotations) to a tool profile curve. This system works on manufacturing commands such as mill, extrude, drill, turn and lift A user first designs a tool profile and then uses the manufacturing commands to design a part.
Recently Delbressin & van der Wolf (1990) and Delbressin & Hijink (1991) showed that the designed part can be built by “delta volumes” or “manufacturable objects”. Each manufacturable object is the result of the intersection of a solid object with “tools cutting parts volumes”. A “tools cutting parts volume” is a function of the tools used and their movement with respect to the workpiece. They showed that only a limited number of manufacturable objects are available for a machining process. The inverse transformation between “delta volume” and “tools cutting parts volume” is a one to any mapping. This allows more than one option for the tools to approach or withdraw from the solid object in order to create the desired “delta volume”. They suggest that a manufacturing oriented design method may be developed by attaching the withdraw/approach direction vector and tolerances to the manufacturable objects.
With limited success, many efforts have been made to integrate machining with the design process, but these efforts have still fallen short. Feature extraction methods are used to extract the features from a part geometry and then to create the process plan to obtain these features via NC part programming commands. When features are extracted, however, the total part geometry is lost.
Feature based design systems are favored because they provide the best CAD/CAM integration. However, feature based design methodologies emphasize the functional design, rather than the direct liking, of the design with the machining process. Typically, only simple features are considered and the very important aspect of feature interaction has not been treated. Often simple feature approaches result in part geometries that are comprised of too many differently shaped volumes. Features like holes, slots and pockets do not completely define all the volumes that could be created by the machining processes. The “delta volume” approach begins to integrate CAD and CAM, but it too results in a part geometry with too many differently shaped volumes.